package in.lib.adapter; import in.lib.adapter.base.RobinAdapter; import in.lib.holder.AccountHolder; import in.lib.utils.Dimension; import in.model.SimpleUser; import in.rob.client.MainApplication; import in.rob.client.R; import java.util.List; import lombok.Getter; import android.content.Context; import android.text.TextUtils; import android.view.View; import android.view.ViewGroup; import android.widget.Button; import android.widget.ImageView; import android.widget.TextView; import com.nostra13.universalimageloader.core.DisplayImageOptions; import com.nostra13.universalimageloader.core.ImageLoader; public class CreateChannelAdapter extends RobinAdapter { private final DisplayImageOptions options; private final Dimension mDimension; private final int viewId; @Getter private final Context context; public CreateChannelAdapter(Context context, List items) { this(context, R.layout.account_list_item, items); } public CreateChannelAdapter(Context context, int viewId, List items) { super(context, items); this.context = context; this.viewId = viewId; this.options = new DisplayImageOptions.Builder().showImageForEmptyUri(R.drawable.default_avatar).showStubImage(R.drawable.default_avatar).build(); this.mDimension = new Dimension(context); } @Override public View getView(int position, View convertView, ViewGroup parent) { AccountHolder holder; SimpleUser item = (SimpleUser)getItem(position); if (convertView == null) { convertView = getLayoutInflater().inflate(viewId, null); holder = new AccountHolder(); holder.avatar = (ImageView)convertView.findViewById(R.id.avatar); holder.username = (TextView)convertView.findViewById(R.id.username); holder.mentionName = (TextView)convertView.findViewById(R.id.mention_name); holder.actionButton = (Button)convertView.findViewById(R.id.follow_button); holder.actionButton = holder.actionButton == null ? (Button)convertView.findViewById(R.id.remove_button) : holder.actionButton; convertView.setTag(R.id.TAG_VIEW_HOLDER, holder); if (holder.actionButton != null) { holder.actionButton.setOnClickListener(this); } } else { holder = (AccountHolder)convertView.getTag(R.id.TAG_VIEW_HOLDER); } holder.actionButton.setVisibility(View.GONE); holder.username.setText(item.getUserName()); if (!TextUtils.isEmpty(item.getMentionName())) { holder.mentionName.setText("@" + item.getMentionName()); } ImageLoader.getInstance().cancelDisplayTask(holder.avatar); ImageLoader.getInstance().displayImage(item.getAvatarUrl() + "?avatar=1&id=" + item.getId(), holder.avatar, MainApplication.getAvatarImageOptions()); return convertView; } @Override public void onClick(final View v) { if (v.getId() == R.id.remove_button) { removeItemAt((Integer)v.getTag()); notifyDataSetChanged(); } } }